package com.zxc.mallgateway.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.reactive.CorsWebFilter;
import org.springframework.web.cors.reactive.UrlBasedCorsConfigurationSource;

@Configuration
public class MallCorsConfiguration {

    @Bean
    public CorsWebFilter corsWebFilter(){
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        CorsConfiguration corsConfiguration = new CorsConfiguration();

        // 1.配置跨域信息
        corsConfiguration.addAllowedHeader("*");  // 允许哪些头（Header）进行跨域
        corsConfiguration.addAllowedMethod("*");  // 允许那些请求方式（Method）进行跨域
        corsConfiguration.addAllowedOriginPattern("*");  // 允许那些请求来源（Origin）进行跨域
        corsConfiguration.setAllowCredentials(true);  // 是否允许携带cookie 进行跨域

        source.registerCorsConfiguration("/**", corsConfiguration);
        return new CorsWebFilter(source);
    }
}
